<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // search()   查找某个或某段字符 在字符串中第一次出现的位置   
    // 返回值: 存在就返回下标 否则返回-1

    // 普通用法: 查找某个或某段字符 在字符串中第一次出现的位置   (低级的indexOf())

    // var str = "good good study , day day up";
    // var result = str.search("d");
    // console.log(result);

    // var result = str.search("day");
    // console.log(result);

    // var result = str.search("Day");  // -1 
    // console.log(result);

    // var result = str.indexOf("Day"); // -1 
    // console.log(result);


    // 配合正则表达式: search()方法接收正则表达式作为参数
    // 查找符合规则的某个或某段字符 在字符串中第一次出现的位置

    // var str = "good good study , day day up";
    // var reg = /day/;  //"day"
    // var result = str.search(reg);
    // console.log(result);    


    // var str = "good good study , Day dAy up";
    // var reg = /day/i;  // D|d A|a Y|y  -> 8中 只要出现匹配模式中的一种即可
    // var result = str.search(reg);
    // console.log(result);    

    // var str = "good good study , Day dAy up";
    // var reg = /day/ig;  // D|d A|a Y|y  -> 8种 只要出现匹配模式中的一种即可
    // var result = str.search(reg);
    // console.log(result);    


    // match()  
    // 普通用法: 将匹配的内容(某个或某段字符) 提取出来放到数组中(默认只匹配一个)
    // 返回值: 匹配成功 -> 数组(匹配的内容)  匹配失败 -> null

    // var str = "good good study , day day up";
    // var result = str.match("day");
    // console.log(result);

    // var str = "good good study , Day dAy up";
    // var result = str.match("day");
    // console.log(result);

    // 配合正则表达式使用: 将正则表达式匹配的内容(某个或某段字符) 提取出来放到数组中(默认只匹配一个 添加修饰符g 可以匹配所有)

    // var str = "good good study , day day up";
    // var reg = /day/; // day
    // var result = str.match(reg);
    // console.log(result);

    // var str = "good good study , Day dAy up";
    // var reg = /day/i; // D|d  A|a  Y|y 忽略大小写
    // var result = str.match(reg);
    // console.log(result);

    // var str = "good good study , Day dAy up";
    // var reg = /day/ig; // day 忽略大小写 全局匹配(匹配整个字符串)
    // var result = str.match(reg);
    // console.log(result);


    // replace(oldStr,newStr)  
    // 普通用法: 将匹配的内容(某个或某段字符),用新的内容替换(默认只替换一个)
    // 返回值: 替换后的新字符串 =>  有就替换 没有就得到一个和原字符串字符相同的新字符串

    // var str = "good good study , day day up";
    // var result = str.replace("day","money");
    // console.log(result);


    // var str = "good good study , Day dAy up";
    // var result = str.replace("day","money");
    // console.log(result);

    // 配合正则表达式 : 将正则表达式匹配的内容(某个或某段字符),用新的内容替换(默认只替换一个 添加g修饰符才能全局替换) 

    // var str = "good good study , day day up";
    // var reg = /day/;   //  day 
    // var result = str.replace(reg,"money");
    // console.log(result);

    // var str = "good good study , Day dAy up";
    // var reg = /day/i;   // day 忽略大小写
    // var result = str.replace(reg,"money");
    // console.log(result);
    
    // var str = "good good study , Day dAy up";
    // var reg = /day/ig;   //  day 忽略大小写 全局匹配(匹配整个字符串)
    // var result = str.replace(reg,"money");
    // console.log(result);

    // 取出字符串中所有空格
    // var str = "     a123     123        "
    // console.log(1, str);

    // var reg = / /g;

    // var result = str.replace(reg,"");
    // console.log(1,result);

    // var a = 10;
    // var b = a + 10;  // a = a + 10

    // 字符串的链式替换


    // 一个一个替换
    // var str = "YYYY-MM-DD";

    // str = str.replace("YYYY",2022);  //将YYYY替换为2022赋值原值

    // str = str.replace("MM","11"); // 将MM替换为11赋值原值

    // str = str.replace("DD","28"); // 将DD替换为28赋值原值

    // console.log(str);

    // 链式调用 -> 原理: 方法的返回值还是同种类型的数据(原本的/新的),后续可以继续调用
    
    // 字符串链式替换
    var str = "YYYY-MM-DD";
    str = str.replace("YYYY",2022).replace("MM",11).replace("DD",28);
    
    console.log(str);

    // 数组链式拼接
    var arr = [];
    var list = arr.concat(1,2).concat(3,4).concat(5,6);
    console.log(list);




</script>
</html>